stepper28 2.2.0
Loading...
Searching...
No Matches
stepper28.h File Reference

This file contains API for Stepper 28 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  stepper28_t
 Stepper 28 Click context object. More...
struct  stepper28_cfg_t
 Stepper 28 Click configuration object. More...

Macros

#define STEPPER28_REG_INPUT_0   0x00
 Stepper 28 PCA9555A registers.
#define STEPPER28_REG_INPUT_1   0x01
#define STEPPER28_REG_OUTPUT_0   0x02
#define STEPPER28_REG_OUTPUT_1   0x03
#define STEPPER28_REG_POLARITY_0   0x04
#define STEPPER28_REG_POLARITY_1   0x05
#define STEPPER28_REG_CONFIG_0   0x06
#define STEPPER28_REG_CONFIG_1   0x07
#define STEPPER28_P0_DMODE0_PIN   0x01
 Stepper 28 PCA9555A pin mask.
#define STEPPER28_P0_DMODE1_PIN   0x02
#define STEPPER28_P0_DMODE2_PIN   0x04
#define STEPPER28_P0_DECAY1_PIN   0x08
#define STEPPER28_P0_DECAY2_PIN   0x10
#define STEPPER28_P0_TRQ0_PIN   0x20
#define STEPPER28_P0_TRQ1_PIN   0x40
#define STEPPER28_P0_SLEEP_X_PIN   0x80
#define STEPPER28_P1_LO1_PIN   0x01
#define STEPPER28_P1_LO2_PIN   0x02
#define STEPPER28_P1_MO_PIN   0x04
#define STEPPER28_P1_RST_PIN   0x08
#define STEPPER28_P0_DEFAULT_CONFIG   0x00
 Stepper 28 PCA9555A pin direction config.
#define STEPPER28_P1_DEFAULT_CONFIG   0xF7
#define STEPPER28_DIR_CW   1
 Stepper 28 direction setting.
#define STEPPER28_DIR_CCW   0
#define STEPPER28_PIN_LOW_LEVEL   0
 Stepper 28 pin logic level setting.
#define STEPPER28_PIN_HIGH_LEVEL   1
#define STEPPER28_MODE_FULL_STEP   0x00
 Stepper 28 step resolution setting.
#define STEPPER28_MODE_1_OVER_8   0x01
#define STEPPER28_MODE_HALF_STEP_TYPE_B   0x02
#define STEPPER28_MODE_1_OVER_32   0x03
#define STEPPER28_MODE_HALF_STEP_TYPE_A   0x04
#define STEPPER28_MODE_1_OVER_16   0x05
#define STEPPER28_MODE_QUARTER_STEP   0x06
#define STEPPER28_MODE_MASK   0x07
#define STEPPER28_TORQUE_100_PCT   0x00
 Stepper 28 torque setting.
#define STEPPER28_TORQUE_75_PCT   0x01
#define STEPPER28_TORQUE_50_PCT   0x02
#define STEPPER28_TORQUE_25_PCT   0x03
#define STEPPER28_TORQUE_MASK   0x03
#define STEPPER28_DECAY_MIXED   0x00
 Stepper 28 decay setting.
#define STEPPER28_DECAY_SLOW   0x01
#define STEPPER28_DECAY_FAST   0x02
#define STEPPER28_DECAY_ADMD   0x03
#define STEPPER28_DECAY_MASK   0x03
#define STEPPER28_SPEED_VERY_SLOW   0
 Stepper 28 device speed settings.
#define STEPPER28_SPEED_SLOW   1
#define STEPPER28_SPEED_MEDIUM   2
#define STEPPER28_SPEED_FAST   3
#define STEPPER28_SPEED_VERY_FAST   4
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_000   0x20
 Stepper 28 device address setting.
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_001   0x21
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_010   0x22
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_011   0x23
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_100   0x24
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_101   0x25
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_110   0x26
#define STEPPER28_DEVICE_ADDRESS_A2A1A0_111   0x27
#define STEPPER28_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  stepper28_return_value_t { STEPPER28_OK = 0 , STEPPER28_ERROR = -1 }
 Stepper 28 Click return value data. More...

Functions

void stepper28_cfg_setup (stepper28_cfg_t *cfg)
 Stepper 28 configuration object setup function.
err_t stepper28_init (stepper28_t *ctx, stepper28_cfg_t *cfg)
 Stepper 28 initialization function.
err_t stepper28_default_cfg (stepper28_t *ctx)
 Stepper 28 default configuration function.
err_t stepper28_write_register (stepper28_t *ctx, uint8_t reg, uint8_t data_in)
 Stepper 28 write register function.
err_t stepper28_read_register (stepper28_t *ctx, uint8_t reg, uint8_t *data_out)
 Stepper 28 read register function.
err_t stepper28_get_step_mode (stepper28_t *ctx, uint8_t *mode)
 Stepper 28 get step mode function.
err_t stepper28_set_step_mode (stepper28_t *ctx, uint8_t mode)
 Stepper 28 set step mode function.
err_t stepper28_get_torque (stepper28_t *ctx, uint8_t *torque)
 Stepper 28 get torque function.
err_t stepper28_set_torque (stepper28_t *ctx, uint8_t torque)
 Stepper 28 set torque function.
err_t stepper28_get_decay (stepper28_t *ctx, uint8_t *decay)
 Stepper 28 get decay function.
err_t stepper28_set_decay (stepper28_t *ctx, uint8_t decay)
 Stepper 28 set decay function.
err_t stepper28_get_sleep_x_pin (stepper28_t *ctx, uint8_t *state)
 Stepper 28 get sleep x pin function.
err_t stepper28_set_sleep_x_pin (stepper28_t *ctx, uint8_t state)
 Stepper 28 set sleep x pin function.
err_t stepper28_get_lo1_pin (stepper28_t *ctx, uint8_t *state)
 Stepper 28 get lo1 pin function.
err_t stepper28_get_lo2_pin (stepper28_t *ctx, uint8_t *state)
 Stepper 28 get lo2 pin function.
err_t stepper28_get_mo_pin (stepper28_t *ctx, uint8_t *state)
 Stepper 28 get mo pin function.
err_t stepper28_get_rst_pin (stepper28_t *ctx, uint8_t *state)
 Stepper 28 get RST pin function.
err_t stepper28_set_rst_pin (stepper28_t *ctx, uint8_t state)
 Stepper 28 set RST pin function.
err_t stepper28_reset_device (stepper28_t *ctx)
 Stepper 28 reset device function.
void stepper28_drive_motor (stepper28_t *ctx, uint32_t steps, uint8_t speed)
 Stepper 28 driver motor function.
void stepper28_enable_device (stepper28_t *ctx)
 Stepper 28 enable device function.
void stepper28_disable_device (stepper28_t *ctx)
 Stepper 28 disable device function.
void stepper28_set_direction (stepper28_t *ctx, uint8_t dir)
 Stepper 28 set direction function.
void stepper28_switch_direction (stepper28_t *ctx)
 Stepper 28 switch direction function.
uint8_t stepper28_get_int_pin (stepper28_t *ctx)
 Stepper 28 get int pin function.
void stepper28_set_clk_pin (stepper28_t *ctx, uint8_t state)
 Stepper 28 set clk pin function.

Detailed Description

This file contains API for Stepper 28 Click Driver.

Enumeration Type Documentation

◆ stepper28_return_value_t

Stepper 28 Click return value data.

Predefined enum values for driver return values.

Enumerator
STEPPER28_OK 
STEPPER28_ERROR